#include "c_variant.h"
#include <stdio.h>

int main() {
    // 创建变体对象
    struct CVariant* var = cvariant_create();
    if (!var) {
        printf("创建变体失败\n");
        return 1;
    }

    // 测试int类型
    cvariant_set_int(var, 42);
    printf("类型: %d (预期0), 值: %d\n", cvariant_get_type(var), cvariant_get_int(var));

    // 测试float类型
    cvariant_set_float(var, 3.14f);
    printf("类型: %d (预期1), 值: %f\n", cvariant_get_type(var), cvariant_get_float(var));

    // 测试字符串类型
    cvariant_set_str(var, "hello from C");
    printf("类型: %d (预期2), 值: %s\n", cvariant_get_type(var), cvariant_get_str(var));

    // 清理
    cvariant_destroy(var);
    return 0;
}